package com.pig4cloud.pigx.user.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 用户模块UserApiIpLockDetail枚举
 *
 * @since 2022/8/16 19:09
 */
public enum UserApiIpLockDetailEnum {
	;

	/**
	 * 类型（0封禁记录、1解封记录）
	 */
	@Getter
	@AllArgsConstructor
	public enum Type {
		/**
		 * 0 封禁记录
		 */
		LOCK("封禁记录", "0"),
		/**
		 * 1 解封记录
		 */
		UNLOCK("解封记录", "1");

		private final String name;
		private final String value;

		/**
		 * 根据name查找对应value
		 *
		 * @param name 枚举名称
		 * @return java.lang.String
		 * @since 2021/11/14
		 */
		public static String findValue(String name) {
			for (Type item : values()) {
				if (item.getName().equals(name)) {
					return item.getValue();
				}
			}

			return null;
		}

		/**
		 * 根据value查找对应的name
		 *
		 * @param value 枚举值
		 * @return java.lang.String
		 * @since 2021/11/14
		 */
		public static String findName(String value) {
			for (Type item : values()) {
				if (item.getValue().equals(value)) {
					return item.getName();
				}
			}

			return null;
		}
	}

	/**
	 * 操作类型（0系统、1人工）
	 */
	@Getter
	@AllArgsConstructor
	public enum OperationType {
		/**
		 * 0 系统
		 */
		SYSTEM("系统", "0"),
		/**
		 * 1 人工
		 */
		MANUAL("人工", "1");

		private final String name;
		private final String value;

		/**
		 * 根据name查找对应value
		 *
		 * @param name 枚举名称
		 * @return java.lang.String
		 * @since 2021/11/14
		 */
		public static String findValue(String name) {
			for (OperationType item : values()) {
				if (item.getName().equals(name)) {
					return item.getValue();
				}
			}

			return null;
		}

		/**
		 * 根据value查找对应的name
		 *
		 * @param value 枚举值
		 * @return java.lang.String
		 * @since 2021/11/14
		 */
		public static String findName(String value) {
			for (OperationType item : values()) {
				if (item.getValue().equals(value)) {
					return item.getName();
				}
			}

			return null;
		}
	}
}
